/**
 * PLM项目研发状态管理
 */
const { observable, action } = require('mobx-miniprogram');

// 研发项目状态管理
const researchStore = observable({
  // 项目列表
  projectList: [],
  
  // 当前项目ID
  currentId: '',
  
  // 当前项目详情
  projectDetail: null,
  
  // 加载状态
  loading: false,
  
  // 刷新标志
  needRefresh: false,
  
  // 需要刷新的页面类型（list/detail）
  refreshFlags: {
    list: false,
    detail: false
  },
  
  // 设置加载状态
  setLoading: action(function(loading) {
    this.loading = loading;
  }),
  
  // 设置当前项目ID
  setCurrentProject: action(function(id) {
    this.currentId = id;
  }),
  
  // 设置项目详情
  setProjectDetail: action(function(detail) {
    this.projectDetail = detail;
  }),
  
  // 获取刷新标志
  getNeedRefresh: function(type) {
    if (type && this.refreshFlags) {
      return this.refreshFlags[type] || false;
    }
    return this.needRefresh;
  },
  
  // 设置刷新标志
  setNeedRefresh: action(function(type, value) {
    if (type && this.refreshFlags) {
      this.refreshFlags[type] = value;
    }
    this.needRefresh = value;
  }),
  
  // 清空状态
  clear: action(function() {
    this.projectList = [];
    this.currentId = '';
    this.projectDetail = null;
    this.loading = false;
    this.needRefresh = false;
    this.refreshFlags = {
      list: false,
      detail: false
    };
  })
});

module.exports = {
  researchStore
}; 